+2007-12-04 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtknotebook.c: Modify the tab-label-destroy fix to not
+ crash epiphany.
+
2007-12-03 Richard Hult <richard@imendio.com>
* gtk/gtkquartz.c: (_gtk_quartz_set_selection_data_for_pasteboard):
{
GtkNotebook *notebook = GTK_NOTEBOOK (object);
GtkNotebookPrivate *priv = GTK_NOTEBOOK_GET_PRIVATE (notebook);
- GList *l;
if (notebook->menu)
gtk_notebook_popup_disable (notebook);
priv->switch_tab_timer = 0;
}
- for (l = notebook->children; l; l = l->next)
- {
- GtkNotebookPage *page = l->data;
- GtkWidget *w = page->tab_label;
- if (w) {
- g_object_ref (w);
- gtk_notebook_remove_tab_label (notebook, page);
- gtk_widget_destroy (w);
- g_object_unref (w);
- }
- }
- /*
- * Prevent gtk_notebook_update_labels from doing work. (And from crashing
- * since we have NULL tab_labels all over.
- */
- notebook->show_tabs = FALSE;
-
GTK_OBJECT_CLASS (gtk_notebook_parent_class)->destroy (object);
}
GtkNotebookPage *page;
GList * next_list;
gint need_resize = FALSE;
+ GtkWidget *tab_label;
gboolean destroying;
gtk_widget_unparent (page->child);
+ tab_label = page->tab_label;
+ g_object_ref (tab_label);
gtk_notebook_remove_tab_label (notebook, page);
+ if (destroying)
+ gtk_widget_destroy (tab_label);
+ g_object_unref (tab_label);
if (notebook->menu)
{